1. Field of the Invention
This invention relates generally to computer systems, and in particular to a selective undo function for a computer program.
2. Description of Related Art
In most computer programs, there is often a need to modify documents, files, classes, objects, attributes, object properties, etc. Current methods for performing modifications are not necessarily error-free, and often need to be undone. What is needed, then, is a straightforward method for capturing information concerning the modifications, so that the modifications can be undone if necessary.
Undo functions exist in many computer programs. Some Undo functions allow the user to undo just the last action taken by the user. Other Undo functions allow the user to continually undo the last actions, in a LIFO (Last-In First-Out) manner, i.e., the last change made by the user is xe2x80x9cundonexe2x80x9d first. So the user can undo the last action, and then the action just before the last, etc.
In the prior art, Undo functions have been implemented in a number of different ways:
A simple selection of an undo action/menu item, which can be done repeatedly by the user.
Some sort of a dial or status indicator is shown to the user, where the user can click on scroll-bar-like buttons pointing right/left to set the amount of actions that needs to be undone and that whole set of actions is undone when the user clicks on the OK button.
A mechanism where a textual description of each action is shown in some LIFO stack and when the user selects one of these actions, it, and all the actions that took place later in chronological order, are all undone.
Thus, there is a need in the art for an improved Undo function. Specifically, there is a need in the art for an Undo function that allows the user to select any single specific action in a history/log of previous actions, and undo that action only, rather than including every action that followed it.
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method, apparatus, and article of manufacture for performing a xe2x80x9cSelective Undo Functionxe2x80x9d for computer programs, wherein the function allows a user to select any single specific action that was previously recorded by the computer, and undo only that selected action, rather than every action that chronologically follows the specific action. Specifically, the computer program may undo just the selected action, even if the selected action is not the last action taken by the user, if that is possible; or the computer program may perform some analysis and undo other actions that are deemed prerequisites to undoing the selected action, upon user confirmation; or if the analysis performed by the computer program cannot determine what these prerequisites are or cannot perform the undo function, then the computer program may take a default action, e.g., undo the selected action as well as all actions that follow the selected action, in chronological order.
However, for a better understanding of the invention and its advantages, reference should be made to the drawings which form a further part hereof, and to accompanying descriptive matter, in which there is illustrated and described specific examples in accordance with the invention.